谁能指导我如何在java中使用简单的超时?基本上在我的项目中,我正在执行一个语句br.readLine(),它正在读取来自调制解调器的响应。但有时调制解调器没有响应。为此,我想添加一个超时。我正在寻找类似的代码:try{Strings=br.readLine();}catch(TimeoutExceptione){System.out.println("Timeouthasoccurred");} 最佳答案 您正在寻找的可以找到here.它可能存在一种更优雅的方式来实现这一点,但一种可能的方法是选项1(首选):finalDurati
在进行大量数据加载、根据日志数据递增计数器时,我遇到了超时异常。我正在使用Datastax2.0-rc2java驱动程序。这是服务器无法跟上的问题(即服务器端配置问题),还是客户端厌倦了等待服务器响应的问题?无论哪种方式,我都可以通过简单的配置更改来解决这个问题吗?Exceptioninthread"main"com.datastax.driver.core.exceptions.WriteTimeoutException:CassandratimeoutduringwritequeryatconsistencyONE(1replicawererequiredbutonly0ackno
当我在像FirefoxDriver这样的webdriver中使用代理时,如果代理不好,那么get方法将永远阻塞。我设置了一些超时参数,但没有成功。这是我的代码:FirefoxProfileprofile=newFirefoxProfile();profile.setPreference("general.useragent.override",ua);Proxyp=newProxy();p.setHttpProxy(proxy);profile.setProxyPreferences(p);profile.setEnableNativeEvents(true);//createadri
在我的Web应用程序中,有一些请求持续时间超过20秒。但在某些情况下,代码可能会导致无限循环或类似情况,从而降低服务器速度。我想在服务器端设置60秒的请求超时。这是在tomcat中实现的吗? 最佳答案 使用Tomcat7,您可以添加StuckThreadDetectionValve这将使您能够识别“卡住”的线程。您可以在要检测的应用程序的上下文元素中设置阀门:......这将为任何花费超过60秒的线程在tomcat日志中写入一个WARN条目,这将使您能够识别应用程序并禁止它们,因为它们有故障。基于sourcecode您也许可以编写自
如何在httpcomponentshttpclient中设置连接超时?我在以下位置找到了文档:http://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html但不清楚这些参数实际上是如何设置的。另外,解释一下SO_TIMEOUT和CONNECTION_TIMEOUT之间的区别会很有帮助。 最佳答案 在ApacheHttpClient4.3版中,配置被重构(再次)。新方式如下所示:RequestConfig.BuilderrequestBuilder=R
我需要为我的用户提供一个Web界面来更改session超时间隔。因此,Web应用程序的不同安装可以有不同的session超时,但它们的web.xml不能不同。有没有办法以编程方式设置session超时,以便我可以使用ServletContextListener.contextInitialized()读取配置的间隔并在应用程序启动时设置它? 最佳答案 不要使用ServletContextListener,而是使用HttpSessionListener.在sessionCreated()方法,您可以通过编程方式设置session超时:
目前我使用以下命令执行native进程:java.lang.Processprocess=Runtime.getRuntime().exec(command);intreturnCode=process.waitFor();假设我希望在经过一定时间后终止程序,而不是等待程序返回。我该怎么做? 最佳答案 所有其他响应都是正确的,但可以使用FutureTask使其更加健壮和高效。例如,privatestaticfinalExecutorServiceTHREAD_POOL=Executors.newCachedThreadPool();
我正在使用SpringSecurity3.0对LDAP服务器进行身份验证,但我无法设置自己的session超时期限。我相信默认值为30分钟,但我需要将其设置为更长的时间 最佳答案 您可以在web.xml中为所有session设置session超时(比如60分钟):60或在每个session的基础上使用session.setMaxInactiveInterval(60*60);您可能希望在authorizationSuccessHandler中执行后者。 关于java-使用SpringSe
当使用ExecutorService和Future对象时(提交Runnable任务时),如果我为future的get函数指定超时值,抛出TimeoutException时,底层线程是否会被杀死? 最佳答案 它没有。为什么会呢?除非你告诉它。例如,在Callable的情况下,这里有一个非常有效的问题。如果你等了20秒后没有得到结果,那么你就不再对结果感兴趣了。到时候你应该完全取消任务。类似这样的:Futurefuture=service.submit(newMyCallable());try{future.get(100,TimeUn
我正在尝试从HTTPURL解析XML文件。我想配置15秒的超时,如果XML提取时间比这更长,我想报告超时。由于某种原因,setConnectTimeout和setReadTimeout不起作用。代码如下:URLurl=newURL("http://www.myurl.com/sample.xml");URLConnectionurlConn=url.openConnection();urlConn.setConnectTimeout(15000);urlConn.setReadTimeout(15000);urlConn.setAllowUserInteraction(false);u